Extending ML with Semi-Explicit Higher-Order Polymorphism

نویسندگان

  • Jacques Garrigue
  • Didier Rémy
چکیده

We propose a modest conservative extension to ML that allows semi-explicit higher-order polymorphism while preserving the essential properties of ML. In our proposal, the introduction of polymorphic types remains fully explicit, that is, both the introduction and the exact polymorphic type must be speci ed. However, the elimination of polymorphic types is now semi-implicit: only the elimination itself must be speci ed as the polymorphic type is inferred. This extension is particularly useful in Objective ML where polymorphism replaces subtyping.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Semi-Explicit First-Class Polymorphism for MLy

We propose a modest conservative extension to ML that allows semi-explicit rst-class poly-morphism while preserving the essential properties of type inference. In our proposal, the introduction of polymorphic types is fully explicit, that is, both introduction points and exact polymorphic types are to be speciied. However, the elimination of polymorphic types is semi-implicit: only elimination ...

متن کامل

Semi-Explicit First-Class Polymorphism for ML

We propose a modest conservative extension to ML that allows semiexplicit first-class polymorphism while preserving the essential properties of type inference. In our proposal, the introduction of polymorphic types is fully explicit, that is, both introduction points and exact polymorphic types are to be specified. However, the elimination of polymorphic types is semiimplicit: only elimination ...

متن کامل

Syntactic Type Polymorphism for Recursive Function De nitions

Higher-order programming languages, such as ML, permit a exible programming style by using compile-time type inference together with the concept of type polymorphism, which allows to specify the types of generic functions. In ML, however, recursive functions must always be given a unique (monomorphic) type inside their deenition. Giving polymorphic types to recursive functions is known as the p...

متن کامل

Implementing Polymorphism in Zenon

Extending rst-order logic with ML-style polymorphism allows to de ne generic axioms dealing with several sorts. Until recently, most automated theorem provers relied on preprocess encodings into mono/many-sorted logic to reason within such theories. In this paper, we discuss the implementation of polymorphism into the rst-order tableau-based automated theorem prover Zenon. This implementation l...

متن کامل

Higher-Order Unification, Polymorphism, and Subsorts

This paper analyzes the problems that arise in extending Huet’s higher-order unification algorithm from the simply typed λ-calculus to one with type variables. A simple, incomplete, but in practice very useful extension to Huet’s algorithm is discussed. This extension takes an abstract view of types. As a particular instance we explore a type system with ml-style polymorphism enriched with a no...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1997